//得到当前播放动画或所有动画的情况
using System;
using DG.Tweening;
using UnityEngine;
using Task = System.Threading.Tasks.Task;

public class DOTweenGetData : MonoBehaviour
{
    // Start is called before the first frame update
    async void Start()
    {
        var pauseTweens = DOTween.PausedTweens();    //获取所有正在暂停的动画
        var playingTweens = DOTween.PlayingTweens();    //获取所有正在播放的动画
        var IDTweens = DOTween.TweensById("ID");    //获取所有ID的动画
        var targetTweens = DOTween.TweensByTarget(transform);    //获取所有目标的动画

        var isTweening = DOTween.IsTweening("ID");
        var totalPlayingTweens = DOTween.TotalPlayingTweens();          //获取所有正在播放动画，不论是否处于延迟状态

        var tweener = transform.DOMoveX(5, 1).SetLoops(-1);
        await Task.Delay(TimeSpan.FromSeconds(1f));
        tweener.fullPosition = 0;   //设置动画播放位置

        await Task.Delay(TimeSpan.FromSeconds(1f));
        Debug.Log(tweener.CompletedLoops());   //返回已经完成循环的动画次数信息 =1
        
        await Task.Delay(TimeSpan.FromSeconds(1f));
        Debug.Log(tweener.CompletedLoops());   //返回已经完成循环的动画次数信息 =2

        tweener.Delay();    //获取延迟时间
        tweener.Duration(); //获取执行时间
        tweener.Elapsed();  //获取次数，循环时为无限次数
        tweener.ElapsedDirectionalPercentage(); //获取单次播放的进度
        tweener.ElapsedPercentage(); //获取整体播放的进度，循环3次时，播放完第一次，1/3进度

        tweener.IsActive(); //动画是否存在
        var isB =tweener.isBackwards; //动画是否回放
        tweener.IsComplete();   //动画是否播放完成
        tweener.IsInitialized();//动画是否初始化
        tweener.IsPlaying();    //动画是否在播放
        tweener.Loops();    //动画播放次数

    }

    // Update is called once per frame
    void Update()
    {
        
    }
}
